color のようなプロジェクトを自動生成したい
from 2024/10/13
cf.アイコン記法でissacさん
アイコン記法でissacさん#638264eb7838e30000735641
/colorにある画像だけで作るの普通にむずいMijinko_SD.icon
クソ強い色か黒っぽい色か青っぽい色しかない
/colorのようなプロジェクトを自動生成したい
000000~ffffffを自動生成する
16777216 pages!
名前は/colourにするか
code:gen.py
import os, json
file = open(
os.path.join(os.path.dirname(__file__), "colors.json"), "w", encoding="utf-8"
)
file.write(
"""{
"pages": ["""
)
def gencolor(hex: str):
pagestring = f"""{hex}
https://svg-hosting.vercel.app/api/svg?url=https://scrapbox.io/api/code/colour/{hex}/color.svg
code:color.svg
<svg width="48" height="48" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"><rect x="0" y="0" width="48" height="48" fill="#{hex}" stroke="none" /></svg>"""
jsonstringob = {
"title": hex,
"lines": pagestring.splitlines(),
}
file.write(json.dumps(jsonstringob) + ",")
for a in range(4096):
gencolor(hex(a)2:.zfill(3))
file.write(
"""],
}"""
)
file.close()
雑実装なのでメモリ制限を突破させないと動かない
--v8-flags=--max-old-space-size=99999
https://gyazo.com/3a05ebc1766a7ebea89d9a3e0ec08c87
ずっとこのくらい消費する
swapするのでスペックの低いPCを使ってる気分になる
https://gyazo.com/15c65201310049d90889bc3816c20f0a
https://gyazo.com/0fd3697aa3131e87286dde108ef52cde
メモリ8GBはつらいよ
数分の稼働の末結果が出た
https://gyazo.com/272713016f451edc711ec7107cf521ec
WritableStreamで少しずつ書き込んだほうがいいtakker.icon
GitHub Actionsで井戸端プロジェクトのバックアップを取得しReleaseに登録するのコード参照
https://code2svg.vercel.app/svg/L110-116/https://raw.githubusercontent.com/meganii/sandbox-github-actions-scheduler/ec3e5e273e5005d759e428006449811d5df9f0c0/index.ts#.svg https://github.com/meganii/sandbox-github-actions-scheduler/blob/ec3e5e273e5005d759e428006449811d5df9f0c0/index.ts#L110-L116
JSONLになってしまうのですか?bsahd.icon
自力でJSON風のものを書き出す実装でもいい
よし決めた
Pythonでやろう
とりあえず3桁HEXのみやる